package org.example.mall.admin.service.manage;

import com.baomidou.mybatisplus.extension.service.IService;
import org.example.mall.admin.model.dto.manage.RoleMenuDto;
import org.example.mall.admin.model.entity.manage.Role;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 系统角色表 服务类
 * </p>
 *
 * @author hzq
 * @since 2021-12-29
 */
public interface RoleService extends IService<Role> {

    /**
     * 用户角色列表
     *
     * @param accountId 用户id
     * @param clientId  客户端id
     * @return 角色列表
     */
    List<Role> accountRoles(Integer accountId, String clientId);

    /**
     * 删除角色
     *
     * @param roleId 角色id
     * @return 删除结果
     */
    Boolean delById(Integer roleId);

    /**
     * 角色分配权限
     *
     * @param dto 分配信息
     * @return 分配结果
     */
    Boolean permRoleMenus(RoleMenuDto dto);

    /**
     * @return 角色分组
     */
    List<Map<String, Object>> roleGroup();
}
